Game software management system, linking game files

ABSTRACT

A method and management system for locating game files on a computer-based information handling system. A storage medium is searched for game files until a file is found. Whether the file is a game file is determined. If the file is not a game file, the search is continued. If the file is a game file, whether the file executes a game application is determined. If the file does not execute a game application, the search is continued. If the file executes a game application, whether an icon is associated with the file is determined. If no icon is associated with the file, an icon is assigned to the file, a copy of the icon is placed into a games file, and the copy of the icon is linked to the file. The management method and system may be embodied on a computer readable medium containing computer readable code for causing a computer-based information handling system to execute the disclosed method. The game management system includes a search engine for locating a game program on a computer readable storage medium of a computer-based information handling system, and a database manager for creating and managing a database of files linked to the game program located on the storage medium of the computer-based information handling system.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No.09/256,121 filed Feb. 24, 1999 now issued as U.S. Pat. No. 6,119,127.The present application and said application Ser. No. 09/256,121 claimthe benefit of and priority under 35 U.S.C. §119(e) to U.S. ProvisionalApplication Serial No. 60/075,805 filed Feb. 24, 1998.

FIELD OF THE INVENTION

The present invention generally relates to the field of computer-basedinformation handling systems, and particularly to a system for managingsoftware on a computer-based information handling system.

BACKGROUND OF THE INVENTION

Computer-based information handling systems are often utilized as gamingmachines on which arcade style, adventure, sporting, or the like gamesare played. Present computer-based information handling systems haveevolved both in the hardware and in the architecture of the operatingsystem and software running on the hardware. This being the case, nosingle standard has been promulgated for the installation, storage, andrunning of games on the computer-based information handling systems. Asa result, some games may be optimized for various versions of operatingsystems more so than others, causing the files that start and launch thegames to be located in a random placement of directories, drives, andmedia. Further, newer operating system versions tend to include aregistry in which games that are compatible with the registry are listedfor easy identification. However, since the newer versions of operatingsystems are typically designed to run programs designed for olderversions of the operating system (in order to maintain backwardscompatibility), many new games are written specifically for the olderoperating system versions instead of newer versions. This is furtherreinforced by the intention of the game creator to create games thatwill run on the highest number of computer-based information handlingsystems, including those that are only running earlier versions of theoperating system. As a result, games written for the older version ofthe operating system do not appear in the games registry file.

Most gamers utilizing a computer-based information handling system donot want to waste precious gaming time searching for the location anddirectory of every game. Game files are usually installed in specificdirectories created during the process of installing the game on thecomputer-based information handling system. Typically, the names of thedirectory are obscure and difficult to remember since the directoriesare named after the software company that publishes or distributes thegame rather than the name of the game itself. Thus, it is difficult forgamers to readily locate all of the games installed on theircomputer-based information handling systems. The tediousness of thesearch for installed games increases with the increasing number of gamesinstalled, the increasing size of hard disk drives and other storagemedia, and the increased number of differing versions in a series ofoperating systems.

SUMMARY OF THE INVENTION

The present invention is directed to a method for locating game files ona computer-based information handling system. In one embodiment of theinvention, the method comprises the steps of searching a storage mediumfor game files until a file is found, determining whether the file is agame file; if the file is not a game file, repeating the searching step;if the file is a game file, determining whether the file executes a gameapplication; if the file does not execute a game application, repeatingthe searching step; if the file executes a game application, determiningwhether an icon is associated with the file; if no icon is associatedwith the file, assigning an icon to the file, placing a copy of the iconinto a games file, and linking the copy of the icon to the file. Inanother embodiment, the present invention is directed to a computerreadable medium containing computer readable code for causing acomputer-based information handling system to execute the above method.

The present invention is also directed to a game management system for acomputer-based information handling system. In one embodiment, the gamemanagement system comprises a search engine for locating a game programon a computer readable storage medium of the computer-based informationhandling system, and a database manager for creating and managing adatabase of files linked to the game program located on the storagemedium of the computer-based information handling system.

It is to be understood that both the forgoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the invention as claimed. The accompanyingdrawings, which are incorporated in and constitute a part of thespecification, illustrate an embodiment of the invention and togetherwith the general description, serve to explain the principles of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

The numerous advantages of the present invention may be betterunderstood by those skilled in the art by reference to the accompanyingfigures in which:

FIG. 1 is a diagram of the hardware architecture of a computer-basedinformation handling system in accordance with the present invention;

FIG. 2 is a flow diagram generally depicting the overall game searchprocess in accordance with the present invention;

FIG. 3 is a flow diagram generally depicting a method for determininggame files from non-gaming files in accordance with the presentinvention; and

FIGS. 4A and 4B are flow diagrams depicting in detail a method forfinding and compiling a list of game files in accordance with thepresent invention.

DETAILED DESCRIPTION OF THE INVENTION

Reference will now be made in detail to the presently preferredembodiment of the invention, an example of which is illustrated in theaccompanying drawings.

Referring now to FIG. 1, a hardware system in accordance with thepresent invention is shown. The hardware system shown in FIG. 1 isgenerally representative of the hardware architecture of acomputer-based information handling system of the present invention. Acentral processing system 102 controls the hardware system 100. Centralprocessing system 102 includes a central processing unit such as amicroprocessor or microcontroller for executing programs, performingdata manipulations and controlling the tasks of the hardware system 100.Communication with central processor 102 is implemented through a systembus 110 for transferring information among the components of thehardware system 100. Bus 110 may include a data channel for facilitatinginformation transfer between storage and other peripheral components ofthe hardware system. Bus 110 further provides the set of signalsrequired for communication with the central processing system 102including a data bus, address bus, and control bus. Bus 110 may compriseany state-of-the-art bus architecture according to promulgatedstandards, for example industry standard architecture (ISA), extendedindustry standard architecture (EISA), Micro Channel Architecture (MCA),peripheral component interconnect (PCI) local bus, standards promulgatedby the Institute of Electrical and Electronics Engineers (IEEE)including IEEE 488 general-purpose interface bus (GPIB), IEEE 696/S-100,and so on. Other components of hardware system 100 include main memory104, auxiliary memory 106, and an auxiliary processing system 108 asrequired. Main memory 104 provides storage of instructions and data forprograms executing on central processing system 102. Main memory 104 istypically semiconductor based memory such as dynamic random accessmemory (DRAM) and or static random access memory (SRAM). Auxiliarymemory 106 provides storage of instructions and data that are loadedinto main memory 104 before execution. Auxiliary memory 106 may includesemiconductor based memory such as read-only memory (ROM), programmableread-only memory (PROM) erasable programmable read-only memory (EPROM),electrically erasable read-only memory (EEPROM), or flash memory (blockoriented memory similar to EEPROM). Auxiliary memory 106 may alsoinclude a variety of non-semiconductor based memories, including but notlimited to magnetic tape, drum, floppy disk, hard disk, optical, laserdisk, compact disc read-only memory (CD-ROM), digital versatile diskread-only memory (DVD-ROM), digital versatile disk random-access memory(DVD-RAM), etc. Other varieties of memory devices are contemplated aswell. Hardware system 100 may optionally include an auxiliary processingsystem 108 which may be a digital signal processor (a special-purposemicroprocessor having an architecture suitable for fast execution ofsignal processing algorithms), a back-end processor (a slave processorsubordinate to the main processing system), an additional microprocessoror controller for dual or multiple processor systems, or a coprocessor.

Hardware system 100 further includes a display system 112 for connectingto a display device 114, and an input/output (I/O) system 116 forconnecting to one or more I/O devices 118, 120 tip to N number of I/Odevices 122. Display system 112 may comprise a video display adapterhaving all of the components for driving the display device, includingvideo random access memory (VRAM), buffer, and graphics engine asdesired. Display device 114 may comprise a cathode ray-tube (CRT) typedisplay such as a monitor or television, or may comprise alternativetype of display technologies such as a liquid-crystal display (LCD), alight-emitting diode (LED) display, or a gas or plasma display. Theinput/output system 116 may comprise one or more controllers or adaptersfor providing interface functions between one or more I/O devices118-122. For example, input/output system 116 may comprise a serialport, parallel port, infrared port, network adapter, printer adapter,radio-frequency (RF) communications adapter, universal asynchronousreceiver-transmitter (UART) port, etc., for interfacing betweencorresponding I/O devices such as a mouse, joystick, trackball,trackpad, trackstick, infrared transducers, printer, modem, RF modem,bar code reader, charge-coupled device (CCD) reader, scanner, compactdisc (CD), compact disc read-only memory (CD-ROM), digital versatiledisc (DVD), video capture device, touch screen, stylus, electroacoustictransducer, microphone, speaker, etc. Input/output system 116 and I/Odevices 118-122 may provide or receive analog or digital signals forcommunication between hardware system 100 of the present invention andexternal devices, networks, or information sources. Input/output system116 and I/O devices 118-122 preferably implement industry promulgatedarchitecture standards, including Ethernet IEEE 802 standards (e.g.,IEEE, 802.3 for broadband and baseband networks, IEEE 802.3 z forGigabit Ethernet, IEEE 802.4 for token passing bus networks, IEEE 802.5for token ring networks, IEEE 802.6 for metropolitan area networks, andso on), Fibre Channel, digital subscriber line (DSL), asymmetric digitalsubscriber line (ASDL), frame relay, asynchronous transfer mode (ATM),integrated digital services network (ISDN), personal communicationsservices (PCS), transmission control protocol/Internet protocol(TCP/IP), serial line Internet protocol/point to point protocol(SLIP/PPP), and so on. It should be appreciated that modification orreconfiguration of hardware system 100 of FIG. 1 by one having ordinaryskill in the art would not depart from the scope or the spirit of (hepresent invention.

Referring now to FIG. 2, a flow diagram of the overall game searchingprocess in accordance with the present invention is shown. Uponinitiation 210 of the game searching process 200, one or more drives orsimilar storage media are searched for game files that may be installedthereon 212. The searched drive or similar storage media may be, forexample, any hard disk drive, floppy disk drive, CD-ROM drive, DVD driveRAM disk drive, network drive or URL, or any main memory 104, auxiliarymemory 106, auxiliary processing system 108, I/O device 118-122 of I/Osystem 116, of computer-based information handling system as shown inFIG. 1. The drive or similar storage media is searched until a file isfound that may be a game file 214. A determination is made whether thefound file is in fact a game file 216. If the found file does not fallin the genus of game files, then the drive is continued to be searcheduntil a file is found that falls within the game file genus 212. Often,several files that are associated with a particular game are installedalong with the file that is the actual game. The process is intended tosearch for and find the specific file that launches and executes thegame. Thus, a file may fall within the genus of game files, yet not bethe specific file that launches and executes the game. It must bedetermined whether a file falling within the game file genus is also anexecutable game file species.

Process 200 determines whether a found game file is the type of filethat launches and executes a game 218. If the found file is not a gamelaunching species, then the drive is continued to be searched for gamefiles 212. If the found file is a game launching species, then process200 determines whether the game file has an icon associated therewith220. If the game file does not have an associated icon, a generic gameicon is assigned to the gaming file 222. The game icon, whetherpreexisting or assigned to the file, is placed into a games folder, anda link is generated associating the game icon with the executable gamefile 224. The game icon and associated link to gaming file in the gamesfolder may be referred to as a shortcut to the executable game file.Process 200 may be continued until the drive has been searched in itsentirety. Further, process 200 may be implemented on all drives andsimilar storage media (e.g., CD-ROM) until all games installed oncomputer-based information handling system 100 as shown in FIG. 1 arereferenced by a shortcut icon in the games folder. The user ofcomputer-based information handling system 100 now has organized allgames organized in a single location for ready selection and access toeach and any game. Process 200 may end at step 226 at any appropriatetime.

Referring now to FIG. 3, a block diagram of a gaming search process inaccordance with the present invention is shown. The process 300illustrates in some detail the manner in which executable game files arefiltered from the genus that includes all game files. At the initiation310 of process 300, a particular drive or similar media is chosen to besearched 312. The next file, in the present case the first file, thatmay be a game file is found on the selected media 314. Process 300determines whether the found file is a program or application, i.e.whether the file is an executable file 316. A file name may include anextension or suffix that, under the rules of the particular operatingsystem, indicates that the file is an executable file. For example, thefile may be listed as its file name, followed by the file type suffix,as in “filename.exe” wherein the name of the file is “filename” and thetype of file is “exe” for executable. The name of the file and the filetype extension may be separated by punctuation such as a period. If thefound file is not determined to be an executable file, then the selecteddrive or media is searched for the next file 314.

If the found file is determined to be an executable file, then the fileis preprocessed to determine specifically whether the file is in fact agame file 318. The preprocessing process may comprise reading the binarydata in the found executable file to a memory, stripping out anynon-ASCII text and spaces, and setting all characters to uppercaseletters. The resulting file is then searched for any keywords that wouldindicate that the file is a game file 320. For example, the contents ofthe found executable file may be compared to a precompiled list ofkeywords that frequently appear in game files. Such game indicatingkeywords may include “JOYSTICK”, “&GAME”, “GAMEOVER”, “SPRITE”,“LOADGAME”, “PLAYER”, “MULTIPLAYER”, “PAUSE GAME”, etc. Further, thekeywords may include the names of popular game companies and developers.If no game indicating keywords are found in the executable file, thenthe selected drive or medial is searched for the next file 314.

If the found executable file is determined to include at least one gameindicating keyword, then process 300 determines whether the executablefile includes any non-game file indicators that would preclude the filefrom being conclusively a game file that would launch and execute a game322. For example, the contents of the found executable file may becompared to a precompiled list of files that are known not to be gamefiles. Such non-game files may include install programs, setup programs,uninstall programs, system profiler programs, multimedia utilities, etc.If a non-game indicator is detected in the executable file, then theselected drive or media is searched for the next file 314. Otherwise,the file is added to a list of found games 324.

If the operating system contains a registry in which the filenames ofinstalled files are stored and organized into categories, then theregistry is searched for registered game files 326. For example, theWindows 95 operating system of Microsoft Corporation includes a registryof games files under the directory “DirectPlay.” All games registeredunder “DirectPlay” are further added to the list of found games 326.After all media have been searched, including any registry, then ashortcut for each game file in the list of found games may be placedinto a game folder which a link from each shortcut to the actuallocation of the corresponding found game 328. At that point, process 300terminates.

Referring now to FIGS. 4A and 4B, a game searching process in accordancewith the present invention is shown. The process 400 initiates 410 andbegins to search a selected hard drive or similar storage medium asdiscussed herein 412. As the hard drive or media is searched, theprocess will search directories in which game files may be located 414.A determination is made whether the directory is a possible gamedirectory 416. If the directory is determined not to be a possible gamedirectory, then that directory is skipped and not searched for gamefiles 418, and the search process continues for other directories onthat drive or storage medium 412. The category of skipped non-gamedirectories may include directories known not to contain game files, forexample temporary directories, cache directories, font directories,history directories, help directories, system directories, etc. Thesetypes of directories may be identified, for example, by the name of thedirectory (e.g., “temp”, “cache”, “help”, “system”), by the content ofthe file types located therein from the file extension of suffix, or bylocation of the directory (e g., being a subdirectory of a directoryknown not to contain game files).

If it is determined that the directory is a possible game directory, thedirectory is searched for game files located therein 420. Files foundlocated within the possible game directory are tested to determinewhether the file is an executable file as described herein 422. If thefile is not an executable file, the file is skipped at step 424 and thepossible game directory is searched for executable game files 420. Ifthe file is an executable file, for example, then the file is copiedinto memory 426, non-ASCII characters are removed from the copiedexecutable file 428, spaces are removed from the copied executable file430, all remaining text is capitalized 432, and extraneous charactersare removed from the copied executable file 434. Such extraneouscharacters may include, for example, Unicode text, a character encodingstandard in which characters are encoded using two bytes of information.

The contents copied executable file processed as described is searchedfor keywords that tend to indicate that the file is a game file asdescribed herein 436. A determination is made whether the contents ofthe file match any of the known game indicating keywords 438. If thereare no game indicating keywords contained in the file, then the file isskipped 444, and the search continues for further game files. In theevent that the file contains a game indicating keyword, the file iscompared to non-game files 440. A determination is made whether thefile, even though it may contain a game indicating keyword, is in fact anon-game file 442. For example, a text file may contain a gameindicating keyword, yet the text file is not an executable game file. Ifthe file is in fact a non-game file, then the file is skipped, and thesearch continues for further game files.

If the game is not a non-game file, then a game file has been found 446.The file is added to a games list 448. Further, the registry of thecomputer-based information handling system 100 is searched forregistered games 450, and a determination is made whether the registryincludes any registered games 452. If any game is found in the registry,the game is added to the games list 454. In any event, the games list isdisplayed 456 for viewing by a user of computer-based informationhandling system 100. A link to the found game file or files will becreated and contained at a single location 458. The user has the abilityto select for which of the found game files a link will be created.Alternatively, the creation of the game links may be implementedautomatically. The game links or shortcuts may be stored in a centrallocation which itself may be organized into specific gaming categories,e.g., sports games, flight simulators, fantasy role playing games,arcade games, favorite games, etc. Process 400 then terminates 460.

In accordance with the present invention, a software management systemfor information handling system 100 of FIG. 1 may be tangibly embodiedas a collection of modules implemented by and executing on the hardwaresystem of information handling system. As such, information handlingsystem 100 becomes specifically configured as each module whenperforming the function of a particular module. The modules of thesoftware management system may include a search engine for locating asoftware program on a computer readable storage medium of computer-basedinformation handling system 100, and a database manager for creating andmanaging a database of files linked to the software program located onthe storage medium of the computer-based information handling system100. The database manager may be adapted to assign said linked files toa directory, and the search engine may be adapted to locate an iconassociated with the software program and to display the icon inassociation with one of the linked files, the icon being for activatingthe software program via said one of the linked files. The softwaremanagement may further include a tester for testing the linked files andan editor for editing the database of linked files such that a filelinked to an additional software program may be added to the database.The database manager may further include a prompter for prompting thesearch engine to locate a software program on an additional computerreadable storage medium. The search engine may include a directorysearch limiter for limiting software searches to a portion of thecomputer readable storage medium. Although the invention has beendescribed with a certain degree of particularity, it should berecognized that elements thereof may be altered by persons skilled inthe art without departing from the spirit and scope of the invention.One of the embodiments of the invention can be implemented as sets ofinstructions resident in the main memory 104 of one or more computersystems configured generally as described in FIG. 1. Until required bythe computer system, the set of instructions may be stored in anothercomputer readable memory such as the auxiliary memory of FIG. 1, forexample in a hard disk drive or in a removable memory such as an opticaldisk for utilization in a CD-ROM drive, a floppy disk for utilization ina floppy disk drive, floptical disk for utilization in a flopticaldrive, or a personal computer memory card for utilization in a personalcomputer card slot. Further, the set of instructions can be stored inthe memory of another computer and transmitted over a local area networkor a wide area network, such as the Internet, when desired by the user.Additionally, the instructions may be transmitted over a network in theform of an applet that is interpreted after transmission to the computersystem rather than prior to transmission. One skilled in the art wouldappreciate that the physical storage of the sets of instructions orapplets physically changes the medium upon which it is storedelectrically, magnetically, chemically, physically, optically orholographically so that the medium carries computer readableinformation.

It is believed that the gaming management system of the presentinvention and many of its attendant advantages will be understood by theforgoing description, and it will be apparent that various changes maybe made in the form, construction and arrangement of the componentsthereof without departing from the scope and spirit of the invention orwithout sacrificing all of its material advantages, the form hereinbefore described being merely an explanatory embodiment thereof. It isthe intention of the following claims to encompass and include suchchanges.

What is claimed is:
 1. A game management system for a computer-basedinformation handling system, comprising: a search engine for locating agame program on a computer readable storage medium of the computer-basedinformation handling system; a database manager for creating andmanaging a database of files linked to the game program located on thestorage medium of the computer-based information handling system; and atester for testing the linked files.
 2. A game management system asclaimed in claim 1, wherein said database manager is adapted to assignsaid linked files to a directory.
 3. A game management system as claimedin claim 1, wherein said search engine is adapted to locate an iconassociated with the game program and to display the icon in associationwith one of the linked files, the icon for activating the game programvia said one of the linked files.
 4. A game management system as claimedin claim 1, further comprising an editor for editing the database oflinked files such that a file linked to an additional game program maybe added to the database.
 5. A game management system as claimed inclaim 1, wherein said database manager includes a prompter for promptingsaid search engine to locate a game program on an additional computerreadable storage medium.
 6. A game management system as claimed in claim1, wherein said search engine includes a directory search limiter forlimiting game searches to a portion of the computer readable storagemedium.
 7. A game management system for a computer-based informationhandling system, comprising: means for locating a game program on acomputer readable storage medium of the computer-based informationhandling system; means for creating and managing a database of fileslinked to the game program located on the storage medium of thecomputer-based information handling system; means for editing thedatabase of linked files such that a file linked to an additionalprogram may be added to the database; and means for testing the linkedfile.
 8. A game management system as claimed in claim 7, wherein saidmeans for creating and managing a database is adapted to assign saidlinked files to a directory.
 9. A game management system as claimed inclaim 7, wherein said locating means is adapted to locate an iconassociated with the game program and to display the icon in associationwith one of the linked files, the icon for activating the game programvia said one of the linked files.
 10. A game management system asclaimed in claim 7, wherein said means for creating and managing adatabase includes a prompter for prompting said search engine to locatea game program on an additional computer readable storage medium.
 11. Agame management system as claimed in claim 7, wherein said locatingmeans includes a directory search limiter for limiting game searches toa portion of the computer readable storage medium.
 12. A game managementsystem for a computer-based information handling system, comprising: asearch engine for locating a game program on a computer readable storagemedium of the computer-based information handling system, the searchengine locating the game program suitable for launching the game programwherein said search engine is adapted to locate an icon associated withthe game program and to display the icon; a database manager forcreating and managing a database of files linked to the game programlocated on the storage medium of the computer-based information handlingsystem; and a tester for testing the linked file.
 13. A game managementsystem as claimed in claim 12, wherein said database manager is adaptedto assign said linked files to a directory.
 14. A game management systemas claimed in claim 12, wherein said search engine is adapted to locatean icon associated with the game program and to display the icon inassociation with one of the linked files, the icon for activating thegame program via said one of the linked files.
 15. A game managementsystem as claimed in claim 12, further comprising an editor for editingthe database of linked files such that a file linked to an additionalgame program may be added to the data base.
 16. A game management systemfor a computer-based information handling system, comprising: a searchengine for locating a game program on a computer readable storage mediumof the computer-based information handling system; and a databasemanager for creating and managing a database of files linked to the gameprogram located on the storage medium of the computer-based informationhandling system, wherein the search engine locates the game program bysearching the computer readable storage medium until a file is found,determining whether the file is a game file, and, if the file is a gamefile, determining whether the file executes a game application; andwherein, if the file found by the search engine executes a gameapplication, the database manager places a copy of an icon associatedwith the application into a games file, and links the copy of the iconto the file.
 17. The game management system as claimed in claim 16,wherein the database manager assigns the linked files to a directory.18. The game management system as claimed in claim 16, wherein thesearch engine locates an icon associated with the game program and todisplay the icon in association with one of the linked files, the iconfor activating the game program via one of the linked files.
 19. Thegame management system as claimed in claim 16, further comprising atester for testing the linked files.
 20. The game management system asclaimed in claim 16, further comprising an editor for editing thedatabase of linked files such that a file linked to an additional gameprogram may be added to the database.
 21. The game management system asclaimed in claim 16, wherein the database manager includes a prompterfor prompting the search engine to locate a game program on anadditional computer readable storage medium.
 22. The game managementsystem as claimed in claim 16, wherein said search engine includes adirectory search limiter for limiting game searches to a portion of thecomputer readable storage medium.